코딩 테스트 787. Cheapest Flights Within K Stops There are n cities connected by some number of flights. You are given an array flights where flights[i] = [fromi, toi, pricei] indicates that there is a flight from city fromi to city toi with cost pricei. You are also g... 코딩 테스트다익스트라leetcodeleetcode [코테 스터디] DFS/BFS, 연산자 끼워 넣기 🐣문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 식의 계산은 연산자 우선 순위를 무시하고 앞에서부터 진... 코딩 테스트코딩 테스트 백준 17485, 진우의 달 여행 (Large) - DP 출발 지점 -> 각 지점으로의 최소 비용 값을 DP 배열에 채워나감 3가지 이동 방향: 왼쪽 아래, 아래, 오른쪽 아래 ex) (3, 5) 지점을 이전 지점으로부터 [왼쪽 아래] 방향으로 이동했을 때, 연료 최소값 1) DP 배열 정의: int[][][] dp dp[i][j][k]: 시작 지점 -> [i][j] 지점까지 이전 윗 행의 지점으로부터 k의 방향으로 이동한 최소 비용 k: 0, 1... DP알고리즘dynamic programming동적 계획법코딩 테스트백준 17485 진우의 달 여행 (Large)DP 백준 1082, 방 번호 - DP, Greedy, 문자열 1) DP 배열 정의: String[] dp dp[cost]: cost원 금액 내로 만들 수 있는 최대 숫자 문자열 출력, 최대 숫자: BigInteger(dp[m]) => dp[] 원소에 Leading-Zero 문자열이 저장될 수 있으므로, BigInteger를 이용하여 Leading-Zero 문자열을 제거 BigInteger 클래스 int, long 범위를 넘어가는 매우 큰 정수를 사용,... DPString백준 1082 방 번호알고리즘그리디greedydynamic programming동적 계획법코딩 테스트DP 프로그래머스 방금 그곡 (level 3) musicinfos를 순회하고, 필요한 정보들을 구조 분해 할당으로 받는다. 그 후, info를 순회하면서 가장 많이 패턴이 나온 곡의 제목을 리턴한다. 테스트 케이스 30개 중에 7개를 실패했다. 틀린 원인을 찾아보자.. 규칙을 내가 잘못 이해하고 계속 삽질을 하고 있었다. 패턴이 한번 온전히 나오기만 하면 곡 후보에 드는 것이고, 그 안에서 라디오에서 실행된 길이로 최종 후보를 판별하는 ... 알고리즘JavaScript코딩 테스트JavaScript 프로그래머스 가장 큰 정사각형 찾기 (level 2) board를 탐색하면서 1을 발견하면 count를 1부터 늘리면서 정사각형을 이루며 퍼지면서 원소에 0이 있는지 없는지 검사한다. 0이 있으면 check 변수를 false로 바꾼다. 생각나는 예외들을 모두 처리해주느 정확성 평가에서는 만점이 나왔다. 하지만 효율성 측면에서 통과하지 못했다. 아예 다른 방법으로 접근해보자..... 알고리즘JavaScript코딩 테스트JavaScript 프로그래머스 압축 (level 2) 처음에 while문으로 arrM의 길이가 0이 될때까지 순회하면서 배열의 길이를 줄이는 식으로 했는데 계속 시간 초과가 났다. 배열을 splice하는 것에 많은 시간이 걸린다고 판단했고, for문으로 대체 하여, 배열을 지우는 대신에 count라는 변수를 주어서 처리한 문자는 넘어갈 수 있게 설계했다.... 일고리즘JavaScript코딩 테스트JavaScript 백준 1106, 호텔 - DP 적어도 c명 영업 => c명, c+1명, ..., c+100명 (입력: 1개 도시에서 x원으로 영업하는 최대 고객 수 = 100명) => c명, c+1명, ..., c+100명 늘리는 최소 금액에서 최소값 적어도 i명(i <= 입력 c)을 늘리기 위한 최소 금액 => i명, i+1명, ..., c+100명 늘리는 최소 금액에서 최소값 dp[i]: 고객을 i명 만큼 늘릴 때, 최소 비용 출력,... DP알고리즘knapsack problem0-1 Knapsack Problemdynamic programming동적 계획법백준 1106 호텔코딩 테스트0-1 Knapsack Problem 백준 14722, 우유 도시 - DP 우유 순서: 딸기(0) -> 초코(1) -> 바나나(2) 최근에 마신 우유 종류에 따라 => "최근 마신 우유 종류를 구분"하여, DP 배열을 채움 1) DP 배열 정의: int[][][] dp dp[i][j][k]: [i][j] 지점까지 가장 최근에 k 우유를 마셨을 때, 마신 최대 우유 개수 (우유 종류 k: 딸기 0, 초코 1, 바나나 2) 출력, 최대 우유 개수 = dp[n-1][n-... DP알고리즘dynamic programming동적 계획법백준 14722 우유 도시코딩 테스트DP 백준 1520, 내리막 길 - DFS, DP, 메모이제이션 dp[y][x]: 시작 지점 [0][0] -> [y][x] 지점으로 내리막 길로 가는 경로 개수 dp[y][x] = 0 이면, 해당 [y][x]로 내리막 길로 갈 수 없음 출력 값 h = dp[m-1][n-1] DFS + DP 현재 지점 [y][x]가 끝 지점이면, DFS 탐색 종료 dp[y][x]: [y][x] 지점 -> 끝 지점으로 내리막 길로 가는 경로 개수 현재 지점 [y][x]에 대... DPDFS알고리즘그래프 탐색depth first search메모이제이션dynamic programming동적 계획법백준 1520 내리막 길깊이 우선 탐색memoization코딩 테스트DFS [백준] 2231번 분해합 링크 : 첫번째 풀이 : 1부터 n까지 부분합을 모두 찾았다 두번째 풀이 : 이진탐색 이용 -> 제일 작은 값을 어떻게 찾을지 고민해보자... 코딩 테스트백준백준 617. 이진트리 병합하기 입출력 예시 제약 조건 입력을 예로 들어서 설명한다. 두 트리 모두 루트가 있으므로 root 1 and root2에 의해 new_node=TreeNode(3)이 생성된다. 왼쪽으로 가본다. 부모 노드(값 3)는 그 결괏값을 기다린다. 왼쪽으로 간 분기에서는 val = 1 + 3 = 4인 노드가 생성된다. 왼쪽으로 가본다. 부모 노드(값 4)는 그 결괏값을 기다린다. 왼쪽으로 간 분기에선 ro... 코딩 테스트재귀트리재귀 [백준] 10989번 수 정렬하기3 링크 : 문제 풀이 내장함수 .sort()보다 빠른건 배열 생성이다!... 코딩 테스트백준백준 [소프트웨어 마에스트로 13기] 코딩 테스트 2차 후기 GREEDY와 DP 카테고리 문제를 풀 차례였기 때문에 해당 문제들을 차곡차곡 풀었고 작년에는 1차 문제를 조금 더 어렵게해서 2차에서 문제가 나왔다는 얘기를 듣고 2차 코테 보기 며칠 전에는 1차 문제들하고 비슷한 문제를 찾아서 복기하면서 풀어봤다. 때문에 추후에 응시하시는 분들은 필히 1차 문제를 복기하시고 응시하시길 바란다. 아래로는 2차 코테 문제에 관한 리뷰를 해보겠다. 소마 2차 ... 코딩 테스트소프트웨어 마에스트로소프트웨어 마에스트로 [백준] 11651번 좌표 정렬하기2 링크 : 문제 풀이 sort(key = lambda x : ~~) 암기하자!!... 코딩 테스트백준백준 297. Serialize and Deserialize Binary Tree Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be reconstructed later... 트리코딩 테스트leetcodeleetcode [코테 스터디] 그리디, 문자열 뒤집기 🐣문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있습니다. 다솜이는 이 문자열 S에 있는 모든 숫자를 같게 만들려고 합니다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것입니다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미합니다. 문자열 S가 주어졌을 때, 다솜이가 해야 하는 행동의 최소 횟수를 출력하세요. 백준 링크 | 🐥풀이 tem... 코딩 테스트코딩 테스트 백준 1461, 도서관 - Greedy 모든 책을 제자리에 놔둔 후, 다시 원점 0 으로 돌아올 필요 X => 가장 먼 거리의 m개 책을 마지막에 놔두고 종료해야 함 1) 각 책의 위치 리스트를 거리가 먼(절댓값이 큰) 순으로 정렬 음수 위치 리스트, 양수 위치 리스트 각각 나누어 저장 및 정렬 => 원점을 기준으로 서로 반대편(음수, 양수)에 있는 책들은 왕복을 각각 수행하므로 e.g. 한 번에 들 수 있는 책이 2권이고 남은 ... 그리디greedy백준 1461 도서관알고리즘코딩 테스트greedy 백준 1105, 팔 - Greedy 1) L 의 전체 자릿 수 != R 의 전체 자릿 수인 경우 8의 최소 개수는 0 2) L 의 전체 자릿 수 == R 의 전체 자릿 수인 경우 높은 자릿 수 부터 각 동일 자릿 수를 비교하여, 8로 같은 자릿 수의 개수 두 자릿 수가 다르면, 비교 종료 ex) 800, 899 => 1 (백의 자리 8) 8808, 8880 => 2 (천의 자리 8, 백의 자리 8) 1208, 1288 => 0... 그리디greedy알고리즘코딩 테스트백준 1105 팔greedy 백준 2437, 저울 - Greedy, 누적 합 n개의 추들의 조합으로 만들 수 없는 최소 무게 구하기 ① n개 추들의 조합으로 만들 수 있는 "최대 무게" = 모든 추들의 무게 합 ② n개 추들의 조합으로 만들 수 없는 "최대 무게" = 모든 추들의 무게 합 + 1 ③ 작은 무게 ~ 큰 무게 순으로 정렬했을 때, 인접한 추 끼리 무게 차이가 작아야 더 촘촘히(?) 추의 무게 합 구성 가능 n개 추들을 무게 작은 순으로 정렬 ①에서 유추한... 그리디greedy누적 합알고리즘백준 2437 저울코딩 테스트greedy 백준 1092, 배 - Greedy 각 크레인의 최대 무게 리스트, 각 박스의 무게 리스트를 큰 순으로 정렬 가장 큰 무게의 박스, 가장 큰 무게의 크레인부터 확인 1) 해당 박스를 해당 크레인으로 옮길 수 있는 경우 해당 박스를 박스 리스트에서 삭제 다음 박스, 다음 크레인 확인 2) 해당 박스를 해당 크레인으로 옮길 수 없는 경우 다음 박스(현재 해당 박스 이하의 무게)를 현재 크레인으로 옮길 수 있는지 확인 => 모든 크... 그리디greedy백준 1092 배알고리즘코딩 테스트greedy [코테 스터디] 그리디, 모험가 길드 시작하기에 앞서, 전 학기에 3번의 기회 내에 코딩 테스트를 통과해야 패스를 받을 수 있는 대학 수업을 수강했다. 코딩 테스트를 제대로 준비해 본 적이 없었기에 당연히 야매로 문제를 풀었고 진짜 어거지로 마지막 기회인 3번째에서 겨우 통과했다ㅎㅎ.. 공부를 좀 해야 할 것 같아서 주변 친구에게 제안한 코테 스터디! 고맙게도 그 친구도 마침 스터디원을 구하고 있었다며 각자 사람 1명씩 더 데려... 코딩 테스트코딩 테스트 백준 20115, 에너지 드링크 - Greedy 규칙에 따라 합친 최종 에너지 드링크의 양을 최대로 만들기 => 절반을 버리고 합치므로, 절반을 버리는 드링크는 양이 작아야 함 규칙: 가장 작은 양의 드링크의 절반을 가장 큰 양의 드링크에다 부어서 합치기 => 가장 큰 양의 드링크가 계속 늘어나면서 갱신됨 1) 드링크 양 배열을 작은 순으로 정렬 2) 가장 큰 양(배열의 맨 뒤 원소)을 선택하여, 맨 앞의 작은 양부터 차례로 합쳐나감 in... 그리디greedy알고리즘백준 20115 에너지 드링크코딩 테스트greedy 백준 1715, 카드 정렬하기 - Greedy n개 카드 묶음의 경우, 총 (n-1)번 합침 2개 카드 묶음을 합치고, 합쳐진 카드 묶음은 또 다시 다른 카드 묶음과 합침 => 최소 비교 횟수로 모두 합치려면, 적은 카드 묶음끼리 합쳐나가야 함 => 각 카드 개수를 우선순위 큐에 저장 및 정렬해가면서 합침 1) PriorityQueue에 각 묶음의 카드 개수를 저장하여 정렬 카드 개수 적은 순으로 정렬 2) PriorityQueue에 원... 그리디greedy알고리즘백준 1715 카드 정렬하기코딩 테스트greedy [코테 스터디] 그리디, 무지의 먹방 라이브 무지는 음식 하나를 1초 동안 섭취한 후 남은 음식은 그대로 두고, 다음 음식을 섭취한다. + 다음 음식이란, 아직 남은 음식 중 다음으로 섭취해야 할 가장 가까운 번호의 음식을 말한다. 각 음식을 모두 먹는데 필요한 시간이 담겨있는 배열 food_times, 네트워크 장애가 발생한 시간 K 초가 매개변수로 주어질 때 몇 번 음식부터 다시 섭취하면 되는지 return 하도록 solution ... 코딩 테스트코딩 테스트 백준 7983, 내일 할거야 - Greedy e.g. 예제 1에서 과제1의 종료일은 7일, 과제2의 종료일은 8일로 서로 안겹치게 배치됨 1) 과제 객체(과제 소요일 d_i, 과제 마감일 t_i) 배열을 정렬 과제 마감일(t_i)이 큰 순(뒷 일자가 먼저 오도록 늦은 순)으로 정렬 2) 마감일이 큰 과제부터 과제 (시작 일자, 종료 일자)를 지정 조건 ①: [기본 조건] 현재 과제의 종료 일자 <= 현재 과제의 마감일 현재 과제의 종료... 그리디greedy알고리즘백준 7983 내일 할거야코딩 테스트greedy 프로그래머스 lv.1_ 시저 암호 더 하다가는 장기적인 학습에 스스로 지칠 수 있어 다른 분이 푼 코드를 분석하는 데 더 집중하겠습니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. ... 프로그래머스코딩 테스트JavaScriptJavaScript [코테 스터디] 구현, 치킨 배달 🐣문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집... 코딩 테스트코딩 테스트 프로그래머스 lv.1_ 이상한 문자 만들기 오늘부터 프로그래머스 문제 1문제씩 풀고 분석해 보려고 합니다. 문제 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스... 프로그래머스코딩 테스트JavaScriptJavaScript 이전 기사 보기
787. Cheapest Flights Within K Stops There are n cities connected by some number of flights. You are given an array flights where flights[i] = [fromi, toi, pricei] indicates that there is a flight from city fromi to city toi with cost pricei. You are also g... 코딩 테스트다익스트라leetcodeleetcode [코테 스터디] DFS/BFS, 연산자 끼워 넣기 🐣문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 식의 계산은 연산자 우선 순위를 무시하고 앞에서부터 진... 코딩 테스트코딩 테스트 백준 17485, 진우의 달 여행 (Large) - DP 출발 지점 -> 각 지점으로의 최소 비용 값을 DP 배열에 채워나감 3가지 이동 방향: 왼쪽 아래, 아래, 오른쪽 아래 ex) (3, 5) 지점을 이전 지점으로부터 [왼쪽 아래] 방향으로 이동했을 때, 연료 최소값 1) DP 배열 정의: int[][][] dp dp[i][j][k]: 시작 지점 -> [i][j] 지점까지 이전 윗 행의 지점으로부터 k의 방향으로 이동한 최소 비용 k: 0, 1... DP알고리즘dynamic programming동적 계획법코딩 테스트백준 17485 진우의 달 여행 (Large)DP 백준 1082, 방 번호 - DP, Greedy, 문자열 1) DP 배열 정의: String[] dp dp[cost]: cost원 금액 내로 만들 수 있는 최대 숫자 문자열 출력, 최대 숫자: BigInteger(dp[m]) => dp[] 원소에 Leading-Zero 문자열이 저장될 수 있으므로, BigInteger를 이용하여 Leading-Zero 문자열을 제거 BigInteger 클래스 int, long 범위를 넘어가는 매우 큰 정수를 사용,... DPString백준 1082 방 번호알고리즘그리디greedydynamic programming동적 계획법코딩 테스트DP 프로그래머스 방금 그곡 (level 3) musicinfos를 순회하고, 필요한 정보들을 구조 분해 할당으로 받는다. 그 후, info를 순회하면서 가장 많이 패턴이 나온 곡의 제목을 리턴한다. 테스트 케이스 30개 중에 7개를 실패했다. 틀린 원인을 찾아보자.. 규칙을 내가 잘못 이해하고 계속 삽질을 하고 있었다. 패턴이 한번 온전히 나오기만 하면 곡 후보에 드는 것이고, 그 안에서 라디오에서 실행된 길이로 최종 후보를 판별하는 ... 알고리즘JavaScript코딩 테스트JavaScript 프로그래머스 가장 큰 정사각형 찾기 (level 2) board를 탐색하면서 1을 발견하면 count를 1부터 늘리면서 정사각형을 이루며 퍼지면서 원소에 0이 있는지 없는지 검사한다. 0이 있으면 check 변수를 false로 바꾼다. 생각나는 예외들을 모두 처리해주느 정확성 평가에서는 만점이 나왔다. 하지만 효율성 측면에서 통과하지 못했다. 아예 다른 방법으로 접근해보자..... 알고리즘JavaScript코딩 테스트JavaScript 프로그래머스 압축 (level 2) 처음에 while문으로 arrM의 길이가 0이 될때까지 순회하면서 배열의 길이를 줄이는 식으로 했는데 계속 시간 초과가 났다. 배열을 splice하는 것에 많은 시간이 걸린다고 판단했고, for문으로 대체 하여, 배열을 지우는 대신에 count라는 변수를 주어서 처리한 문자는 넘어갈 수 있게 설계했다.... 일고리즘JavaScript코딩 테스트JavaScript 백준 1106, 호텔 - DP 적어도 c명 영업 => c명, c+1명, ..., c+100명 (입력: 1개 도시에서 x원으로 영업하는 최대 고객 수 = 100명) => c명, c+1명, ..., c+100명 늘리는 최소 금액에서 최소값 적어도 i명(i <= 입력 c)을 늘리기 위한 최소 금액 => i명, i+1명, ..., c+100명 늘리는 최소 금액에서 최소값 dp[i]: 고객을 i명 만큼 늘릴 때, 최소 비용 출력,... DP알고리즘knapsack problem0-1 Knapsack Problemdynamic programming동적 계획법백준 1106 호텔코딩 테스트0-1 Knapsack Problem 백준 14722, 우유 도시 - DP 우유 순서: 딸기(0) -> 초코(1) -> 바나나(2) 최근에 마신 우유 종류에 따라 => "최근 마신 우유 종류를 구분"하여, DP 배열을 채움 1) DP 배열 정의: int[][][] dp dp[i][j][k]: [i][j] 지점까지 가장 최근에 k 우유를 마셨을 때, 마신 최대 우유 개수 (우유 종류 k: 딸기 0, 초코 1, 바나나 2) 출력, 최대 우유 개수 = dp[n-1][n-... DP알고리즘dynamic programming동적 계획법백준 14722 우유 도시코딩 테스트DP 백준 1520, 내리막 길 - DFS, DP, 메모이제이션 dp[y][x]: 시작 지점 [0][0] -> [y][x] 지점으로 내리막 길로 가는 경로 개수 dp[y][x] = 0 이면, 해당 [y][x]로 내리막 길로 갈 수 없음 출력 값 h = dp[m-1][n-1] DFS + DP 현재 지점 [y][x]가 끝 지점이면, DFS 탐색 종료 dp[y][x]: [y][x] 지점 -> 끝 지점으로 내리막 길로 가는 경로 개수 현재 지점 [y][x]에 대... DPDFS알고리즘그래프 탐색depth first search메모이제이션dynamic programming동적 계획법백준 1520 내리막 길깊이 우선 탐색memoization코딩 테스트DFS [백준] 2231번 분해합 링크 : 첫번째 풀이 : 1부터 n까지 부분합을 모두 찾았다 두번째 풀이 : 이진탐색 이용 -> 제일 작은 값을 어떻게 찾을지 고민해보자... 코딩 테스트백준백준 617. 이진트리 병합하기 입출력 예시 제약 조건 입력을 예로 들어서 설명한다. 두 트리 모두 루트가 있으므로 root 1 and root2에 의해 new_node=TreeNode(3)이 생성된다. 왼쪽으로 가본다. 부모 노드(값 3)는 그 결괏값을 기다린다. 왼쪽으로 간 분기에서는 val = 1 + 3 = 4인 노드가 생성된다. 왼쪽으로 가본다. 부모 노드(값 4)는 그 결괏값을 기다린다. 왼쪽으로 간 분기에선 ro... 코딩 테스트재귀트리재귀 [백준] 10989번 수 정렬하기3 링크 : 문제 풀이 내장함수 .sort()보다 빠른건 배열 생성이다!... 코딩 테스트백준백준 [소프트웨어 마에스트로 13기] 코딩 테스트 2차 후기 GREEDY와 DP 카테고리 문제를 풀 차례였기 때문에 해당 문제들을 차곡차곡 풀었고 작년에는 1차 문제를 조금 더 어렵게해서 2차에서 문제가 나왔다는 얘기를 듣고 2차 코테 보기 며칠 전에는 1차 문제들하고 비슷한 문제를 찾아서 복기하면서 풀어봤다. 때문에 추후에 응시하시는 분들은 필히 1차 문제를 복기하시고 응시하시길 바란다. 아래로는 2차 코테 문제에 관한 리뷰를 해보겠다. 소마 2차 ... 코딩 테스트소프트웨어 마에스트로소프트웨어 마에스트로 [백준] 11651번 좌표 정렬하기2 링크 : 문제 풀이 sort(key = lambda x : ~~) 암기하자!!... 코딩 테스트백준백준 297. Serialize and Deserialize Binary Tree Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be reconstructed later... 트리코딩 테스트leetcodeleetcode [코테 스터디] 그리디, 문자열 뒤집기 🐣문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있습니다. 다솜이는 이 문자열 S에 있는 모든 숫자를 같게 만들려고 합니다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것입니다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미합니다. 문자열 S가 주어졌을 때, 다솜이가 해야 하는 행동의 최소 횟수를 출력하세요. 백준 링크 | 🐥풀이 tem... 코딩 테스트코딩 테스트 백준 1461, 도서관 - Greedy 모든 책을 제자리에 놔둔 후, 다시 원점 0 으로 돌아올 필요 X => 가장 먼 거리의 m개 책을 마지막에 놔두고 종료해야 함 1) 각 책의 위치 리스트를 거리가 먼(절댓값이 큰) 순으로 정렬 음수 위치 리스트, 양수 위치 리스트 각각 나누어 저장 및 정렬 => 원점을 기준으로 서로 반대편(음수, 양수)에 있는 책들은 왕복을 각각 수행하므로 e.g. 한 번에 들 수 있는 책이 2권이고 남은 ... 그리디greedy백준 1461 도서관알고리즘코딩 테스트greedy 백준 1105, 팔 - Greedy 1) L 의 전체 자릿 수 != R 의 전체 자릿 수인 경우 8의 최소 개수는 0 2) L 의 전체 자릿 수 == R 의 전체 자릿 수인 경우 높은 자릿 수 부터 각 동일 자릿 수를 비교하여, 8로 같은 자릿 수의 개수 두 자릿 수가 다르면, 비교 종료 ex) 800, 899 => 1 (백의 자리 8) 8808, 8880 => 2 (천의 자리 8, 백의 자리 8) 1208, 1288 => 0... 그리디greedy알고리즘코딩 테스트백준 1105 팔greedy 백준 2437, 저울 - Greedy, 누적 합 n개의 추들의 조합으로 만들 수 없는 최소 무게 구하기 ① n개 추들의 조합으로 만들 수 있는 "최대 무게" = 모든 추들의 무게 합 ② n개 추들의 조합으로 만들 수 없는 "최대 무게" = 모든 추들의 무게 합 + 1 ③ 작은 무게 ~ 큰 무게 순으로 정렬했을 때, 인접한 추 끼리 무게 차이가 작아야 더 촘촘히(?) 추의 무게 합 구성 가능 n개 추들을 무게 작은 순으로 정렬 ①에서 유추한... 그리디greedy누적 합알고리즘백준 2437 저울코딩 테스트greedy 백준 1092, 배 - Greedy 각 크레인의 최대 무게 리스트, 각 박스의 무게 리스트를 큰 순으로 정렬 가장 큰 무게의 박스, 가장 큰 무게의 크레인부터 확인 1) 해당 박스를 해당 크레인으로 옮길 수 있는 경우 해당 박스를 박스 리스트에서 삭제 다음 박스, 다음 크레인 확인 2) 해당 박스를 해당 크레인으로 옮길 수 없는 경우 다음 박스(현재 해당 박스 이하의 무게)를 현재 크레인으로 옮길 수 있는지 확인 => 모든 크... 그리디greedy백준 1092 배알고리즘코딩 테스트greedy [코테 스터디] 그리디, 모험가 길드 시작하기에 앞서, 전 학기에 3번의 기회 내에 코딩 테스트를 통과해야 패스를 받을 수 있는 대학 수업을 수강했다. 코딩 테스트를 제대로 준비해 본 적이 없었기에 당연히 야매로 문제를 풀었고 진짜 어거지로 마지막 기회인 3번째에서 겨우 통과했다ㅎㅎ.. 공부를 좀 해야 할 것 같아서 주변 친구에게 제안한 코테 스터디! 고맙게도 그 친구도 마침 스터디원을 구하고 있었다며 각자 사람 1명씩 더 데려... 코딩 테스트코딩 테스트 백준 20115, 에너지 드링크 - Greedy 규칙에 따라 합친 최종 에너지 드링크의 양을 최대로 만들기 => 절반을 버리고 합치므로, 절반을 버리는 드링크는 양이 작아야 함 규칙: 가장 작은 양의 드링크의 절반을 가장 큰 양의 드링크에다 부어서 합치기 => 가장 큰 양의 드링크가 계속 늘어나면서 갱신됨 1) 드링크 양 배열을 작은 순으로 정렬 2) 가장 큰 양(배열의 맨 뒤 원소)을 선택하여, 맨 앞의 작은 양부터 차례로 합쳐나감 in... 그리디greedy알고리즘백준 20115 에너지 드링크코딩 테스트greedy 백준 1715, 카드 정렬하기 - Greedy n개 카드 묶음의 경우, 총 (n-1)번 합침 2개 카드 묶음을 합치고, 합쳐진 카드 묶음은 또 다시 다른 카드 묶음과 합침 => 최소 비교 횟수로 모두 합치려면, 적은 카드 묶음끼리 합쳐나가야 함 => 각 카드 개수를 우선순위 큐에 저장 및 정렬해가면서 합침 1) PriorityQueue에 각 묶음의 카드 개수를 저장하여 정렬 카드 개수 적은 순으로 정렬 2) PriorityQueue에 원... 그리디greedy알고리즘백준 1715 카드 정렬하기코딩 테스트greedy [코테 스터디] 그리디, 무지의 먹방 라이브 무지는 음식 하나를 1초 동안 섭취한 후 남은 음식은 그대로 두고, 다음 음식을 섭취한다. + 다음 음식이란, 아직 남은 음식 중 다음으로 섭취해야 할 가장 가까운 번호의 음식을 말한다. 각 음식을 모두 먹는데 필요한 시간이 담겨있는 배열 food_times, 네트워크 장애가 발생한 시간 K 초가 매개변수로 주어질 때 몇 번 음식부터 다시 섭취하면 되는지 return 하도록 solution ... 코딩 테스트코딩 테스트 백준 7983, 내일 할거야 - Greedy e.g. 예제 1에서 과제1의 종료일은 7일, 과제2의 종료일은 8일로 서로 안겹치게 배치됨 1) 과제 객체(과제 소요일 d_i, 과제 마감일 t_i) 배열을 정렬 과제 마감일(t_i)이 큰 순(뒷 일자가 먼저 오도록 늦은 순)으로 정렬 2) 마감일이 큰 과제부터 과제 (시작 일자, 종료 일자)를 지정 조건 ①: [기본 조건] 현재 과제의 종료 일자 <= 현재 과제의 마감일 현재 과제의 종료... 그리디greedy알고리즘백준 7983 내일 할거야코딩 테스트greedy 프로그래머스 lv.1_ 시저 암호 더 하다가는 장기적인 학습에 스스로 지칠 수 있어 다른 분이 푼 코드를 분석하는 데 더 집중하겠습니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. ... 프로그래머스코딩 테스트JavaScriptJavaScript [코테 스터디] 구현, 치킨 배달 🐣문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집... 코딩 테스트코딩 테스트 프로그래머스 lv.1_ 이상한 문자 만들기 오늘부터 프로그래머스 문제 1문제씩 풀고 분석해 보려고 합니다. 문제 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스... 프로그래머스코딩 테스트JavaScriptJavaScript 이전 기사 보기